package bomberman.modelo.armas;

import java.util.HashMap;

import org.jdom2.Element;

import bomberman.modelo.mapa.Casillero;
import bomberman.modelo.mapa.Direccion;
import bomberman.modelo.personajes.Personaje;
import fiuba.algo3.titiritero.modelo.ObjetoVivo;

public abstract class BombaTemporizada extends Bomba implements ObjetoVivo {
  private double retardo;
  
  public BombaTemporizada(int unaDestruccion, int unRadio,
    Casillero unaUbicacion, double unRetardo) {
    super(unaDestruccion, unRadio, unaUbicacion);
    this.retardo = unRetardo;
  }
  
  public double getRetardo() {
    return this.retardo;
  }
  
  public void setRetardo(double retardo){
	  this.retardo=retardo;
  }
  
  @Override
  public void vivir() {
    this.retardo -= 1;
    if (this.retardo <= 0) {
      Explosion.explotar(this.getUbicacion().getPosicion());
      HashMap<Direccion, OndaExpansiva> ondasExpansivas = this.explotar();
      this.procesarExplosion(ondasExpansivas);
    }
  }
  
  @Override
  public boolean esCaminablePor(Personaje unPersonaje) {
    return false;
  }
  
  @Override
  public boolean esSobrevolable() {
    return true;
  }
  protected Element serializar(Element unElemento) {
		super.serializar(unElemento);
		unElemento.setAttribute("Retardo",String.valueOf(this.getRetardo()));
		return unElemento;
	}
}
